#include<bits/stdc++.h>
using namespace std;
#define int long long
int n;

signed main()
{
	cin >> n;
//	int a[n];
//	unordered_
	set<int> s;
//	vector<int> a;
	int x;
	for (int i = 0 ; i < n; i++) {
//		cin >> a[i];
		cin >> x;
		s.insert(x);
	}
	vector<int> a;
	if (s.size() == 1) {
		cout << -1 << endl;

	} else {
		for (set<int>::iterator it = s.begin(); it != s.end(); it ++) {
			a.push_back(*it);
		}
		cout << max(a[a.size() - 2 - 1], a[a.size() - 1] % a[a.size() - 1 - 1]);
		// 倒数第二个或者最后取余到数第一个
	}





	return 0;
}
